1. Field of the Invention
The present invention relates to a method, system, and program for mapping logical addresses to high performance sectors on a storage medium and, in particular, high performance sectors capable of being accessed by multiple read/write heads.
2. Description of the Related Art
A hard disk drive receives input/output (I/O) requests, i.e., read/write request, with respect to locations on the disk drive. A hard disk drives includes a servo controlled actuator that moves a slider across the disk surface. A head is positioned at the end of the slider opposite the actuator to read and write data to the disk surface medium. FIG. 1 illustrates the arrangement of a recording surface of a disk drive 2 divided into concentric circular xe2x80x9ctracksxe2x80x9d on the disk surface. If there are multiple disks, then the vertical alignment of the tracks, on the disks aligned in parallel, together comprise a cylinder.
The outer cylinder is shown as reference 4. Each cylinder is further divided into user data regions 6a-h and prerecorded servo sectors 8a-h. A logical block address (xe2x80x9cLBAxe2x80x9d) is used to address a specific location within the disk stack and is mapped by the disk drive control electronics to a cylinder or track, head number indicating a particular head in a multi-disk system, and sector. Thus, the head indicates a disk and surface in a multi-drive and/or multi storage surface system. Sectors on the disk may comprise 512 bytes, which is the same size as a typical LBA. In this way, a location on the disk can be expressed according to Cylinder/Head/Sector (CHS). Each user data region 6a-h may include one or more sectors. Further, a sector may be split across data regions 6a-h. 
The I/O commands may be received at a rate faster than they can be executed against the disk drive storage medium by the storage controller. In such case, the I/O commands are queued for execution by the controller one-at-a-time. The positioning time or total access time to process an I/O request includes: seek time, which is the time to move the actuator and head from one track to another, and latency time, which is the time the head has to wait for disk rotation until the target sector on the track is positioned under the head. These delay times multiply as the number of I/O requests directed toward a disk drive increases. Over the years increases in the storage capacity of disk drives has led to increases in the number of users and application processes accessing a single disk drive, thereby substantially increasing the number of I/O requests directed toward a specific drive.
To reduce the processing time of I/O requests, disk drive manufacturers have developed disk drives that place two separately movable heads on a single disk drive surface. One such disk drive, known as the Chinook disk drive made by Conner Peripherals, Inc., placed two actuator arms, each having a head, on each disk surface. The Chinook defines a disk drive system of five disk platters, where each platter has two disk drive heads per surface, hence twenty disk drive heads total. The Chinook multiple actuator disk drive including two heads per surface is described in U.S. Pat. No. 5,223,993, entitled xe2x80x9cMultiple Actuator Disk Drivexe2x80x9d and assigned to Conner Peripherals, Inc., which patent is incorporated herein by reference in its entirety. The Chinook places two separately movable actuators 180 degrees opposite each other on a disk surface such that both actuators are capable of accessing any position on the disk surface based upon which actuator can access the location in the shortest time. This arrangement effectively reduces the surface area assigned to each head and reduces the seek and latency times as any one of the heads is more likely to be closer to a random position on the disk than a single head. Thus, using two heads increases the speed of processing I/O requests because overall access times are reduced and two heads are available to handle two I/O requests concurrently.
One problem with the prior art disk drives employing multiple heads on each surface is the cost of the multiple heads. Cost issues in fact have significantly dampened demand for the Chinook and other similar disk drive systems including multiple heads on each disk surface.
Thus, there is a need in the art for providing a system that improves I/O request throughput to a disk drive and at the same time does not exceed consumer cost expectations.
To overcome the limitations in the prior art described above, preferred embodiments disclose a system, method, and program for mapping logical addresses to physical sectors on a storage device including at least one storage medium surface. A determination is made of logical addresses that are specified to be stored in a high throughput region on one storage medium surface. At least two read/write heads operate on the storage medium surface including the high throughput region to increase performance of access operations in the high throughput region. A mapping is generated of the determined logical addresses to the high throughput region. The logical addresses mapped to the high throughput region are capable of being non-contiguous.
In further embodiments, generating the mapping comprises associating a range of contiguous sectors in the high throughput region with at least two ranges of noncontiguous logical addresses. The ranges of non-contiguous logical addresses map to the contiguous sectors in the high throughput region.
In still further embodiments, the multiple read/write heads operating on the storage medium surface including the high throughput region are both capable of accessing every sector in the high throughput region.
Yet further, the logical addresses that are specified to be stored in the high throughput region comprise logical addresses used for a file system of a host operating system. Alternatively, the logical addresses that are specified to be stored in the high throughput region comprise logical addresses used for parity data in a RAID storage system. Still further, the specified logical addresses may be specified by the host computer or an application program thereon.
Preferred embodiments provide a relatively low cost method for providing a high performance region in a disk storage system where two heads can access the sectors in the high performance region. To optimize the use of the high performance region, the controller or the host computer may provide a mapping to map logical addresses (LBAs) used for frequently accessed files, e.g., the file system, operating system files, etc., to those sectors in the high performance regions where two heads operate. In this way, throughput is increased for those logical addresses that are most frequently accessed, thereby increasing the likelihood that I/O requests will be serviced from the high performance zone. Further, by not using multiple heads on the other disk surfaces, costs are minimized at the same time that throughput is optimized.